import store from "@/store"
import {my} from "@/api/my"

// 处理发送验证码事件
function pu(data,log){
  if(data.status==100){
    log.success("发送成功")
  }else{
    log(data.msg)
  }
}
// 处理注册事件
function singCode(data,log){
  if(data.status==100){
    log.success("注册成功")
  }else{
    log(data.msg)
  }
}
// 登录
function loginCode(data,log,axios){
  if(data.status==100){
    log.success("登录成功")
    // 登录成功 获取到的用户信息存储在vuex
    store.commit("userMsg",data.data[0])
    // 路由前置守卫判断 登录条件
    store.commit("flag",true)
    // 调用获取我的页面数据
    my(axios)
  }else{
    log(data.msg)
  }
}

// 修改密码
function reset(data,log){
  if(data.status==100){
    log.success("修改成功")
  }else{
    log(data.msg)
  }
}



// 判断是否有值
function val(inputs) {
  let flag = true;
  for (let i = 0; i < inputs.length; i++) {
    // 只要有一个没有值就为false
    if (inputs[i] == "") {
      flag = false;
    }
  }
  return flag;
}


// 注册
export function sing(router,log,inputs,axios,data) {
  if (val(inputs)) {
    axios({
      url: "http://127.0.0.1:8081/api/sign",
      method: "post",
      // headers: { "Content-Type": "application/x-www-form-urlencoded" },
      data: data,
    })
      .then((msg) => {
        singCode(msg.data, log);
        router.push("/login")
      })
      .catch((err) => {
        console.log(err);
        log.fail("出错了，请稍后再试");
      });
  }else {
    log("请输入完整的消息");
  }
}
// 发送验证码
export function pushCode(log,inputs,axios,data) {
  if (val(inputs)) {
    log.loading({
      message: '加载中...',
      forbidClick: true,
    })
    axios({
      url: "http://127.0.0.1:8081/api/code",
      method: "post",
      // headers: { "Content-Type": "application/x-www-form-urlencoded" },
      data: data,
    })
      .then((msg) => {
        pu(msg.data, log);
      })
      .catch((err) => {
        console.log(err);
        log.fail("出错了，请稍后再试");
      });
  } else {
    log("请输入完整的消息");
  }
}

// 处理登录事件
export function login(inputs,router,axios,log,data){
  if (val(inputs)) {
    axios({
      url: "http://127.0.0.1:8081/api/login",
      method: "post",
      // headers: { "Content-Type": "application/x-www-form-urlencoded" },
      data: data,
    })
      .then((msg) => {
        loginCode(msg.data,log,axios);
        router.push("/")
      })
      .catch((err) => {
        console.log(err);
        log.fail("出错了，请稍后再试");
      });
  }else {
    log("请输入完整的消息");
  }
}

// 修改密码
export function rest(inputs,router,axios,log,data){
  if(val(inputs)){
    axios({
      url:"http://127.0.0.1:8081/api/reset",
      method:"post",
      data:data,
    }).then(msg=>{
      reset(msg.data,log)
      router.push("/login")
    }).catch(err=>{
      log.fail("出错了,稍后再试")
    })
  }else{
    log("请输入完整的消息")
  }
}

